home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 10
/
FM Towns Free Software Collection 10.iso
/
fb386
/
tool
/
watanabe
/
sprite
/
sample.bas
< prev
next >
Wrap
BASIC Source File
|
1995-01-22
|
5KB
|
132 lines
1000 CLEAR,,1024,200000,0
1010 DEFINT A-Z
1020 DEF SPRITE 99,0
1030 DIM SP(255),C(0)
1040 SPキャラ=16:画面モード=-1
1045 AB=0 'ABボタンの入れ替えを行いたい場合はこの値を-1にしてください
1050 SCREEN 0:SCREEN@1
1060 LOAD@"people.tif",(0,0)
1070 FOR I=0 TO 15
1080 GET@A(I*16,0)-(I*16+15,15),SP
1090 DEF SPRITE 0,I*4,SP,1
1100 Y=(I AND 12)*16 '+2
1110 '上部2ライン表示をするときは上の行をコメントを実行する
1120 DEF SPRITE 1,I*4,((I AND 3)*64+16,Y),I*4,1,1,0
1130 NEXT
1140 SCREEN@0
1150 COLOR ,%5:CLS
1160 FOR I=0 TO 639 STEP 32:LINE(I,0)-(I,479),PSET,5:NEXT
1170 FOR I=0 TO 479 STEP 32:LINE(0,I)-(639,I),PSET,5:NEXT
1180 SPRITE ON
1190 SCREEN_X=32 'スプライト・グラフィック画面の表示位置
1200 GOSUB *SCREEN_16 '16色画面モードのときに実行
1210 'GOSUB *SCREEN_32K '32768色画面モードのとき実行
1220 IF 画面モード THEN GOSUB *標準 ELSE GOSUB *横長
1230 FOR I=0 TO SPキャラ-1:SPRITE 0,I*4,1:NEXT
1240 WHILE INKEY$<>"":WEND
1250 '
1260 *MAIN
1270 GOSUB *パッド入力
1280 IF INKEY$<>"" THEN
1290 END
1300 ELSE IF IN AND 16 THEN
1310 角度=角度+1
1320 IF 角度=8 THEN 角度=0
1330 SPRITE 3,SP*4,角度:WAIT 20
1340 ELSE IF IN AND 32 THEN
1350 縮小=縮小+1
1360 IF 縮小=4 THEN 縮小=0
1370 SPRITE 4,SP*4,縮小:WAIT 20
1380 ELSE IF IN AND 64 THEN
1390 SP=SP+1:IF SP=SPキャラ THEN SP=0
1400 SPRITE 0,SP*4,0:WAIT 10:SPRITE 0,SP*4,1
1410 WHILE IN AND 64:GOSUB *パッド入力:WEND
1420 ELSE IF IN AND 128 THEN
1430 画面モード=NOT(画面モード)
1440 IF 画面モード THEN GOSUB *標準 ELSE GOSUB *横長
1450 WHILE IN AND 128:GOSUB *パッド入力:WEND
1460 ENDIF
1470 IF IN AND 8 THEN X=1 ELSE IF IN AND 4 THEN X=-1 ELSE X=0
1480 IF IN AND 2 THEN Y=1 ELSE IF IN AND 1 THEN Y=-1 ELSE Y=0
1490 SPRITE 6,SP*4,X,Y:WAIT 1
1500 GOTO *MAIN
1510 '
1520 '
1530 '********************************************************************
1540 '* プログラム開発支援シリーズ第3弾 *
1550 '* *
1560 '* パッド入力サブルーチン *
1570 '* *
1580 '* 94年12月13日(火) by 渡辺良一 *
1590 '********************************************************************
1600 *パッド入力
1610 IN=NOT(INP(&H4D0 OR ADR,1)) AND &H3F
1620 IF (IN AND 12)=12 THEN IN=IN OR &H40:IN=IN XOR 12 'RUN
1630 IF (IN AND 3)= 3 THEN IN=IN OR &H80:IN=IN XOR 3 'SELECT
1640 IF AB AND ((IN AND 16)*2 XOR (IN AND 32)) THEN IN=IN XOR 48
1650 RETURN
1660 '
1670 '
1680 '*********************************************************************
1690 ' プログラム開発支援シリーズ第6弾
1700 '
1710 ' スプライト画面モード変更ルーチン
1720 '
1730 ' 1995年1月6日(金) by 渡辺 良一
1740 '*********************************************************************
1750 *SCREEN_16
1760 OUT &H440,&H10,2:OUT &H442,&H0406,2 'vde1
1770 OUT &H440,&H1B,2:OUT &H442,&H1100,2 'zoom
1780 OUT &H440,&H0F,2:OUT &H442,&H0046,2 'vds1(標準)
1790 'OUT &H440,&H0F,2:OUT &H442,&H003D,2 'vds1(上部2ライン表示)
1800 RETURN
1810 '
1820 *SCREEN_32K
1830 OUT &H440,&H0D,2:OUT &H442,&H0046,2 'vds0
1840 OUT &H440,&H0E,2:OUT &H442,&H0406,2 'vde0
1850 OUT &H440,&H0F,2:OUT &H442,&H0046,2 'vds1(標準)
1860 'OUT &H440,&H0F,2:OUT &H442,&H003D,2 'vds1(上部2ライン表示)
1870 OUT &H440,&H10,2:OUT &H442,&H0416,2 'vde1
1880 OUT &H440,&H08,2:OUT &H442,&H0419,2 'vst
1890 OUT &H440,&H1B,2:OUT &H442,&H1111,2 'zoom
1900 RETURN
1910 '
1920 *標準
1930 OUT &H440,&H00,2:OUT &H442,&H0060,2 'hsw1
1940 OUT &H440,&H01,2:OUT &H442,&H02C0,2 'hsw2
1950 OUT &H440,&H04,2:OUT &H442,&H031F,2 'hst
1960 OUT &H440,&H1D,2:OUT &H442,&H0002,2 'cr1
1970 '
1980 'グラフィック画面の表示領域指定(標準位置)
1990 'OUT &H440,&H09,2:OUT &H442,&H008A,2 'hds0
2000 'OUT &H440,&H0A,2:OUT &H442,&H030A,2 'haj0
2010 'OUT &H440,&H12,2:OUT &H442,&H008A,2 'hde0
2020 '
2030 'グラフィック画面の表示領域指定(グラフィックとスプライト一致)
2040 OUT &H440,&H09,2:OUT &H442,&H008A+SCREEN_X*2,2 'hds0
2050 OUT &H440,&H0A,2:OUT &H442,&H028A+SCREEN_X*2,2 'haj0
2060 OUT &H440,&H12,2:OUT &H442,&H008A+SCREEN_X*2,2 'hde0
2070 '
2080 'スプライト画面の表示領域指定
2090 OUT &H440,&H0B,2:OUT &H442,&H008A+SCREEN_X*2,2 'hds1
2100 OUT &H440,&H0C,2:OUT &H442,&H028A+SCREEN_X*2,2 'haj1
2110 OUT &H440,&H16,2:OUT &H442,&H008A+SCREEN_X*2,2 'hde1
2120 RETURN
2130 '
2140 *横長
2150 OUT &H440,&H00,2:OUT &H442,&H0050,2 'hsw1
2160 OUT &H440,&H01,2:OUT &H442,&H024E,2 'hsw2
2170 OUT &H440,&H04,2:OUT &H442,&H029D,2 'hst
2180 OUT &H440,&H1D,2:OUT &H442,&H0003,2 'cr1
2190 '
2200 'グラフィック画面の表示領域指定
2210 OUT &H440,&H09,2:OUT &H442,&H007C,2 'hds0
2220 OUT &H440,&H0A,2:OUT &H442,&H027C,2 'haj0
2230 OUT &H440,&H12,2:OUT &H442,&H007C,2 'hde0
2240 '
2250 'スプライト画面の表示領域指定
2260 OUT &H440,&H0B,2:OUT &H442,&H007C,2 'hds1
2270 OUT &H440,&H0C,2:OUT &H442,&H027C,2 'haj1
2280 OUT &H440,&H16,2:OUT &H442,&H007C,2 'hde1
2290 RETURN